HightouchでDestinationにMixpanelを指定しイベントデータを同期してみた
さがらです。
Hightouchでデータの転送先となるDestinationにMixpanelを指定して、イベントデータを同期してみたのでその内容をまとめてみます。
参考
事前準備
Sourceの設定
まず、転送元となるSourceについてはSnowflakeを設定します。連携用のデータも事前に準備済であるとします。
- 手順
- イベントデータ
DestinationにMixpanelを設定
まず、HightouchのDestinationとしてMixpanelを設定していきます。
Mixpanelで必要な情報を確認
Hightouchで設定するために、最初にMixpanel上で必要な情報を確認していきます。
具体的には、以下3つの情報が必要です。
Project ID
Project token
Service Account Username and Secret
まず、Mixpanelの画面右上から、Project Settings
を押します。
Project ID
は、Overview
のProject Details
の中から確認が可能です。
Project token
は、Overview
のAccess Keys
の中から確認可能です。
Service Account Username and Secret
は、Service Accounts
から+ Add Service Account
新しく生成する必要があります。
作成画面が開いたら、新しいService Accountを作成します。新しい名前をService Account
欄で追加し、Project Role
はAdmin
かOwner
を選択し、右下のAdd
を押せばOKです。
すると、作成したService AccountのUsername
とSecret
が表示されるので、こちらをコピーします。
これでMixpanel側での確認は完了です!
HightouchでDestinationの設定
続いて、Hightouch上でMixpanelをDestinationとして設定していきます。
まず、左のメニューからDestinations
を選択し、Add destination
を押します。
Destinationとして設定するサービスを選択する画面が出てくるため、Mixpanelを選択し、画面右下のContinue
を押します。
Mixpanelの接続情報を入力する画面が出てくるため、先程確認した各種情報を入力していきます。Region
はMixpanelをEUなどで使用していなければ、Standard (Most Common)を選択します。入力後、右下の
Continue`を押します。
最後に、Hightouch上で区別するための作成するDestinationを入力する画面が出てきます。
任意の名前を入力し、右下のFinish
を押します。これでMixpanelをDestinationとして設定出来ました!
Model設定
続いて、イベントデータのModel設定と、MixpanelへのSync設定をしていきます。
まず、画面左のModels
を押し、Add model
を押します。
連携済みのSnowflakeのデータベースを選択します。
今回はすでにSnowflake上に存在するテーブルをそのまま使うため、Table selector
を選択します。
連携したいテーブルを選択し、画面右下のContinue
を押します。
Hightouch上の区別のため、Model name、Descriptionを入力します。また、HightouchのCDCの処理のためにPrimary keyも設定します。
設定が完了したら、右下のFinishを押します。これでModelの設定は完了です!
Sync設定
DestinationとModelの設定が完了したので、実際にSnowflakeからMixpanelに同期させるためのSyncの設定をしていきます。
Hightouchの左のメニューからSyncs
を押して、Add sync
を押します。
まず、設定したModelを選択します。
続いて、設定したDestinationを選択します。
続いて、Syncの詳細な設定に移ります。
まず、同期対象のデータはイベントデータなので、Event
を選択します。
What is the event name?
では、同期するイベントがどんなイベントであるか、その名称を入れます。もし同期対象のSnowflakeのテーブル・ビューに各レコードごとのイベント名を保持するフィールドがあれば、USE COULUMN
にチェックを入れた上でフィールドを選択しましょう。
もし対象のSnowflakeのテーブル・ビューにイベントのタイムスタンプを持つフィールドがあれば、Which column contains the event timestamp?
で指定します。
How should records between query results and records in Mixpanel be matched?
では、MixpanelのUser IDと紐付ける、Snowflakeのテーブルのカラムを選択します。
続いて、Which columns would you like to sync to Mixpanel fields?の設定ですが、Suggest mappingsを押すと、カラム名が一致するものなどはHightouch側で自動で割り当てを行ってくれます。
これらのフィールドの割り当てが自動で行われない場合には、Add mapping
から追加をしましょう。
フィールドの割り当ても完了したら、画面右下のContinue
を押します。
最後に、DescriptionとSchedule typeを設定し、右下のFinishを押します。
これで、Syncの設定は完了です!
Sync実行
最後に、実際に設定したSyncを実行してみます。
今回はスケジュール設定をしていないため、対象のSyncを開いた上で、右上のRunを押します。
すると、Sync画面にRunsのログが表示されます。
HEALTHY
が出たら、無事に同期されたということになります!
実際にMixpanelのEventsを見ると、無事にカスタムフィールドも込みで登録されていました!
最後に
HightouchでDestinationにMixpanelを指定しイベントデータを同期してみました。
Mixpanelでもイベントデータの収集は可能ですが、別の媒体で取得したイベントデータもMixpanelに集約して分析したい場合には便利だと思います!